package com.jd.finance.core.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jd.finance.core.pojo.dto.LoanProductInfoDTO;
import com.jd.finance.core.pojo.dto.SuccessProductMoneyDTO;
import com.jd.finance.core.pojo.entity.Bank;
import com.jd.finance.core.pojo.entity.Product;
import com.jd.finance.core.pojo.dto.ProductBankListInfoDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 贷款产品表 Mapper 接口
 * </p>
 *
 * @author LiQingBo
 * @since 2022-05-17
 */
@Mapper
public interface ProductMapper extends BaseMapper<Product> {

    /**
     * 查询所有可贷款银行
     *
     * @return
     */
    List<Bank> selectLoadBank();

    /**
     * 查询贷款产品列表（根据地区定位）随机取6条
     *
     * @param City
     * @return
     */
    List<Product> selectLoanListByCity(@Param("City") String City);

    /**
     * 根据产品id查询产品的所有相关信息(包括所属银行)
     * @param pid
     * @return
     */
    ProductBankListInfoDTO selectProductBankInfo(Integer pid);

    /**
     * 获取贷款产品成交总金额前5名
     * @return
     */
    List<SuccessProductMoneyDTO> selectProductMoney();

    /**
     * 根据产品名称模糊查询，查询产品说明，与不同银行的基本利率
     * @param proName
     * @return
     */
    LoanProductInfoDTO getLoanProductInfo(@Param("proName") String proName);
}
